import Vue from 'vue'
import App from './App.vue'
import router from './router'
import axios, { axiosTB } from './axios'

// 功能二： 引入vant ui：
import Vant, { Toast } from 'vant'
import '../node_modules/vant/lib/index.css'
// import { config } from 'vue/types/umd'

Vue.use(Vant)



// 功能三： 创建一个http地址全局过滤器：
Vue.filter('fixImgUrl', (oldUrl) => {
  if (oldUrl.indexOf("http") > -1) {
    return oldUrl;
  } else {
    // return this.$axios.defaults.baseURL + oldUrl;   //不要加this.$ axios
    return axios.defaults.baseURL + oldUrl;
  }
})

// 把导出的axios文件  绑在 vue的原型上：
Vue.prototype.$axios = axios;
Vue.prototype.$axiosTB = axiosTB;


Vue.config.productionTip = false

// 初始化vuex：
// 1、引入
import Vuex from 'vuex'
// 2、注册：
Vue.use(Vuex)
// 3、实例化仓库：
// state是共享数据状态的对象：
// const store = new.Vue.Store({   是new vuex！！不是new vue
  const store = new Vuex.Store({
  state:{
   historyList:[]
  },
  // mutations是用来修改数据的函数的对象：
  mutations:{
    // 每个mutations函数，的第一个形参都能接收state对象：
    addHistory(state,data){
      // 判断推入的数据在原数组中不存在：
      // if(this.$store.state.historyList(indexOf===-1)){
      //   this.$store.state.historyList.push(data)
      // }   错误！！！
      if(state.historyList.indexOf(data)===-1){
        state.historyList.push(data)
      }
    },
    // 恢复数据：
    recoverHistory(state,data){
      state.historyList = data
    }
   
    
  }
})
new Vue({
  router,
  store,
  render: function (h) { return h(App) }
}).$mount('#app')
